package edu.service;

import edu.vo.CourseType;

import java.util.List;
import java.util.Optional;

public interface CourseTypeService {
    /**
     * 保存课程类型信息
     * @param courseType 课程类型对象
     * @return 保存后的课程类型对象
     */
    CourseType saveCourseType(CourseType courseType);

    /**
     * 根据ID获取课程类型信息
     * @param id 课程类型ID
     * @return 课程类型对象的Optional包装
     */
    Optional<CourseType> getCourseTypeById(Integer id);

    /**
     * 获取所有课程类型信息
     * @return 课程类型列表
     */
    List<CourseType> getAllCourseTypes();

    /**
     * 根据ID删除课程类型信息
     * @param id 课程类型ID
     */
    void deleteCourseTypeById(Integer id);

    /**
     * 更新课程类型信息
     * @param id 课程类型ID
     * @param courseType 新的课程类型信息
     * @return 更新后的课程类型对象
     */
    CourseType updateCourseType(Integer id, CourseType courseType);
}